Interpolation circuitry is commonly employed in incremental and absolute digital motion encoding systems, where the interpolation circuitry is configured to generate digital pulses having higher frequencies than base sinusoidal analog signals input to the circuitry. As the interpolation factor of the circuitry increases, the accuracy of the interpolation circuitry becomes ever more critical since the output provided by such circuitry ultimately determines the accuracy of the encoding system. Unfortunately, due to the architecture of most interpolation circuitry—which typically relies on a large number of comparators—the outputs provided by interpolation circuitry tend to be noisy and contain undesired noise spikes arising from excessive switching in the comparators. As a result, the comparators employed in interpolation circuitry for motion encoders typically employ a significant amount of hysteresis to provide immunity from noise spikes. The hysteresis itself can become a source of inaccuracy for the interpolation circuitry, however, especially at high interpolation factors.
Referring to FIG. 1, there is shown an optical encoder system 10 of the prior art comprising light emitter 20 (typically an LED), code wheel or code strip 30 having apertures 31a-31f disposed therein, and light detector 40 comprising photodiodes 41a (A) and 41b (A\). In optical encoder 10, collimated light beam 22 emitted by light emitter 20 projects light onto code wheel 30. Collimated light beam 22 is interrupted by masked or optically opaque sections disposed between apertures 31a-31f as code wheel or code strip 30 rotates in first direction 111 or in second direction 112. (Note that code wheel or code strip 30 rotates substantially in a plane defined approximately by collimated light beam 22 as it is projected from light emitter 20 towards light detector 40.) Portions 50a and 50b of collimated light beam 22 project through apertures 31c and 31d and sweep across light detector 40 and photodiodes 41b (A\) and 41a (A) as code wheel or code strip 30 rotates in direction 111 or 112 in the plane. As code wheel 30 moves in direction 111 or 112, the light patterns projected onto first vertical portion 70 of light detector 40 by beam portions 50a and 50b change, and the output signals provided by photodiodes 41a and 41b change correspondingly. These output signals are generally employed to generate a pair of quasi-triangular signals (as shown, for example, in FIG. 2), which are then used to determine any one or more of the position, speed and direction of code disk 30.
Referring now to FIG. 2, there are shown “triangular” signals A and A\, which are compared to one another and employed to generate pulse 109 using circuitry and methods well known to those skilled in the art of optical encoders. Typically, another set of photodetectors B and B\ is also provided, where photodetectors B and B\ are positioned 90 degrees out of phase with respect to photodetectors A and A\, and which are employed to generate another pulse (not shown in FIG. 2). Pulses for photodetectors A and A\, and B and B\, are generated which are 90 degrees out of phase with respect to one another. As shown in FIG. 2, pseudo-triangular signals A and A\, which for purposes of subsequent interpolation processing would optimally be linear or straight between maximum and minimum portions thereof, exhibit curved portions near the tops and bottoms thereof. These curved portions are due to undesirable capacitance effects, and complicate considerably any subsequent attempts at interpolation.
In an encoder of the type shown in FIG. 1, the spatial resolution of device 10 is generally determined and set according to the specific requirements of the end user. More particularly, the distances or spacing between adjoining photodetectors A and A\ (41a and 41b, respectively), are typically determined according to the particular requirements of a given customer or end user. Time and effort are required to implement such requirements, especially in respect of wafer fabrication when an unusual or new spatial resolution for device 10 is required.
One technique employed in the prior art to change or adjust the spatial resolution provided by device 10 is to employ one or more reticles disposed between light emitter 20 and light detector 40. FIG. 3 shows one such arrangement, where reticle strip 60 has reticles 61 and 62 disposed therein. Reticles 61 and 62 are configured to interfere with the light beams impinging thereon, and to modify them so that the pattern of light projected on light detectors 40 is changed. Reticles 61 and 62 are specifically configured to provide the degree, amount and type of spatial resolution desired of encoder 10.
FIG. 4 shows one example of output signals provided by two different sets of reticles having different sizes. The large semi-sinusoidal output signals to the left of FIG. 4 are generated using large reticles 61-65 (i.e., large solid line rectangles), while the small semi-sinusoidal signals on the right of FIG. 4 are generated using small reticles (i.e., small dashed line rectangles disposed inside large reticles 61 through 65). It will be seen that the smaller reticles provide output signals having increased spatial resolution than those generated using the larger reticles. Reticle sizes can be changed according to the spatial resolution requirements for encoder 10, which is preferably configured to have photodiodes of a common size. The spatial resolution of encoder 10 is then determined by changing reticle size so long as reticle size is smaller then the photodiodes being employed. One disadvantage of the use of reticles in optical encoders is that additional high-precision optical components are required, and the cost of the resulting encoder increases accordingly.
Continuing to refer to FIG. 4, it will be seen that the large and small “sinusoidal” signals are somewhat distorted and not truly sinusoidal, and thus are difficult to use as a basis for interpolation in processing circuitry such as an integrated circuit (“IC”) or digital signal processing (“DSP”) IC.
It will now be seen that conventional methods used in some analog incremental optical encoders rely on an additional reticle or mask being placed over the photodetectors to act as a light modulation filter to generate approximately sinusoidal output signals. The shape and structure of the reticle or mask must generally be custom-optimized to produce nearly sinusoidal waveforms. Reticle design can become quite complex, especially at low line counts. Accurate alignment and positioning of the reticle or mask is also necessary, which typically manifests itself as a major drawback in manufacturing and assembly.
Another commonly-employed technique in the prior art for providing increased resolution interpolated output signals from an optical encoder system is to reduce the amplitude of the input signals systematically. The reduced amplitude signals are then compared to reference signals through XOR operations to generate interpolated bits. See, for example, U.S. Pat. No. 6,355,927 to Snyder entitled “Interpolation Methods and Circuits for Increasing the Resolution of Optical Encoders” One disadvantage of such an approach is that the number of comparators must be doubled for every additional bit that is to be interpolated. For example, at 2× interpolation (21), a minimum of 8 comparators are required, and the number of comparators required beyond that doubles for every 2n interpolation that is desired. Thus, in the case where 32× (25) interpolation is required, 128 comparators will be required. The use of so many comparators increases design and IC costs.
What is needed is interpolation circuitry for motion encoding systems where the spatial resolution of an encoder may be adjusted or manipulated without the use of additional optical components, reticle strips or reticles, and where custom spatial resolutions may be effected quickly and accurately without unduly increasing cost. What is also needed is interpolation circuitry for motion encoding systems having improved immunity from noise, that is capable of providing high interpolation factors, that can provide highly accurate interpolation output signals, and that does not unduly increase circuit complexity, design and/or cost.